This disclosure relates generally to determining location of a vehicle (e.g., autonomous vehicle) based on global navigation satellite systems (for example, GPS) and more particularly to determining location of the vehicle based on global navigation satellite systems using localization performed using high definition maps.
Autonomous vehicles, also known as self-driving cars, driverless cars, auto, or robotic cars, drive from a source location to a destination location without requiring a human driver to control and navigate the vehicle. Autonomous vehicles need to determine their location accurately to be able to navigate. Autonomous vehicles often determine their location using global navigation satellite systems (GNSS). Examples of GNSS include the United States' Global Positioning System (GPS), Russia's GLONASS, China's BeiDou Navigation Satellite System (BDS), and European Union's Galileo system. GNSS based positioning uses satellite signals to determine position of a vehicle. A GNSS receiver receives signals from satellites and determines the location of the receiver, for example, longitude, latitude, and altitude/elevation based on the signals. Global navigation satellite systems (GNSS), provide accuracies of approximately 3-5 meters which is low for a high definition map.
There are several sources of error in GNSS position estimates. GNSS positions are based on estimating range to satellites in known positions and range is modeled as a satellite signal's time of flight multiplied by signal speed. So errors in satellite positions, clocks, and signal speed lead to errors in position. Satellite orbits vary due to changes in solar radiation pressure. Satellite atomic clocks drift due to relativistic effects. Several factors affect the speed of the satellite signal propagation. The speed of light varies with the medium. For example, it is slower in the air near the ground than in the vacuum of space, so the average speed of the signal depends on the amount of atmosphere it passes through between the satellite and the receiver. Ionization of the ionosphere slows and deflects the signals. All these errors result in loss of accuracy of a GNSS signal, making it challenging to accurately determine the location of the vehicle.
GNSS based positioning can be improved using techniques such as real-time kinematic (RTK) positioning. RTK enhancement uses a receiver at a known location (base station) to estimate the errors for each satellite. These error estimates can be used to correct the range estimates at a nearby moving receiver (rover). Use of RTK has several disadvantages. RTK requires multiple receivers, one stationary receiver and one roving receiver. That increases the cost of maintaining an RTK based system. Furthermore, the accuracy provided by an RTK based system is limited by distance between receivers. Also, coverage for RTK based systems from commercial service providers is limited geographically. Accordingly, if a vehicle was driving in an area that did not provide coverage, the vehicle would not be able to perform the RTK based correction. If a vehicle was driving in an area that had RTK coverage and drove outside the coverage area, the vehicle would experience a sudden loss of accuracy due to loss of RTK signal. Another weakness of RTK enhancement is that a data link (radio or phone network) must be maintained to transmit the correction data from the base station to the rover. This data link adds complication and cost to an RTK system. If the communication link is lost, the performance of the system degrades. Vehicles such as autonomous vehicles that need highly accurate and reliable position determination to be able to navigate are not able to rely on current RTK solutions.
Other techniques for improving GNSS based positioning include Satellite Based Augmentation Systems (SBAS). An SBAS based system provides correction that provide coverage for large areas. However the accuracy provided by such systems is less than an RTK based techniques. Furthermore, these techniques also require an antenna to receive correction data and a subscription fee charged by a provider for the service due to the cost of the infrastructure used to provide the signal.
Therefore, conventional techniques for using GNSS based positioning do not provide sufficient accuracy and RTK based correction has various drawbacks that make such systems inadequate for purposes that require high accuracy, for example, autonomous driving. One approach to using GNSS positioning for localizing an autonomous car is to use low grade GNSS position estimate as a starting guess that is refined by aligning data from other sensors, such as LiDAR and cameras, to a map to get a more accurate pose estimate. Typical refinement techniques are sensitive to the quality of the initial guess. If the starting point is too far from the true solution, alignment may be slow and the algorithms can even get stuck at a local optimum. This results in waste of computing resources. So for speed and reliability, it is desirable to enhance the GNSS estimate. Current RTK approaches have adequate accuracy, when they work, but have disadvantages in complication, cost, coverage and reliability. SBAS systems have good coverage, but limited accuracy.